using System;
using System.ComponentModel.DataAnnotations;

namespace ERP.ERPSystem.WarehouseManagement.Dto
{
    /// <summary>
    /// 供应商退货创建DTO
    /// </summary>
    public class SupplierReturnsCreateDto
    {
        /// <summary>
        /// 退货单编号
        /// </summary>
        [Required(ErrorMessage = "退货单编号不能为空")]
        [StringLength(30, ErrorMessage = "退货单编号长度不能超过30个字符")]
        public string ReturnCode { get; set; }

        /// <summary>
        /// 退货单名称
        /// </summary>
        [Required(ErrorMessage = "退货单名称不能为空")]
        [StringLength(30, ErrorMessage = "退货单名称长度不能超过30个字符")]
        public string ReturnName { get; set; }

        /// <summary>
        /// 采购订单编号
        /// </summary>
        [StringLength(30, ErrorMessage = "采购订单编号长度不能超过30个字符")]
        public string ProcurementCode { get; set; }

        /// <summary>
        /// 供应商
        /// </summary>
        [Required(ErrorMessage = "供应商不能为空")]
        [StringLength(30, ErrorMessage = "供应商长度不能超过30个字符")]
        public string Vendor { get; set; }

        /// <summary>
        /// 批次号
        /// </summary>
        [StringLength(30, ErrorMessage = "批次号长度不能超过30个字符")]
        public string LotNumber { get; set; }

        /// <summary>
        /// 退货日期
        /// </summary>
        [Required(ErrorMessage = "退货日期不能为空")]
        public DateTime ReturnDate { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        [Required(ErrorMessage = "单据状态不能为空")]
        public int DocumentStatus { get; set; }

        /// <summary>
        /// 物料编码（多个编码用逗号分隔）
        /// </summary>
        public string MaterielCode { get; set; }
    }
} 